package com.proxy.callbackFilter;

import java.lang.reflect.Method;

import net.sf.cglib.proxy.CallbackFilter;

/**
 * 其次，定义实现过滤器CallbackFilter接口的类：
 * 其中return值为被代理类的各个方法在回调数组Callback[]中的位置索引
 * @author zhangsulei
 *
 */
public class ConcreteClassCallbackFilter implements CallbackFilter {

	public int accept(Method method) {
		if ("getConcreteMethodB".equals(method.getName())) {
			return 0;// Callback callbacks[0]
		} else if ("getConcreteMethodA".equals(method.getName())) {
			return 1;// Callback callbacks[1]
		} else if ("getConcreteMethodFixedValue".equals(method.getName())) {
			return 2;// Callback callbacks[2]
		}
		return 1;
	}

}